package com.springboot.util;

import org.springframework.util.StringUtils;

import java.security.SecureRandom;
import java.text.SimpleDateFormat;
import java.util.Date;

public class UtilTool {

	/*
	 * 获取 文件编码
	 * 规则： 10位机构编码 + ‘-’ + 14位时间 + ‘-’ + 13位纳秒 + 11位随机数(50位)
	 */
	public static String getFileCode(String areaCode){
		String timeStamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
		String tradeInfoFileCode = (StringUtils.isEmpty(areaCode) ? "" : areaCode ) + "-" + timeStamp + "-"
		+ System.nanoTime() + getFixLengthString(11);
		return tradeInfoFileCode;
	}

	// 获取指定长度的随机数
	private static String getFixLengthString(int strLength) {
		SecureRandom rm = new SecureRandom();
		// 获取随机值
		return ((1 + rm.nextDouble()) * Math.pow(10, strLength) + "").substring(2, strLength) + 2;
	}
}
